Determining a meal and/or meal plan

ABSTRACT

Methods, systems, apparatus and computer-readable mediums, storing sets of instructions, provide for determining at least one meal combination including receiving, at a server, information identifying at least one food item; accessing, from a storage, device, a set of meal combination rules; applying, at the server, the accessed set of meal combination rules to a plurality of food items; determining, at the server, at least one meal combination including a plurality of food items including the food item identified by the received information; and transmitting the determined at least one meal combination from the server to a computing device for display. Alternatively, methods, systems, apparatus and computer-readable mediums, storing sets of instructions, provide for generating a meal plan, including accessing a set of meal plan rules; applying the set of meal plan rules to a plurality of food items; determining a plurality of meal combinations, each of the plurality of meal combinations including a plurality of food items, based on the applied set of rules; and transmitting the determined plurality of meal combinations from a server device to a computing device.

RELATED APPLICATION DATA

This application claims priority to Provisional Application No. 61/113,101 filed Nov. 10, 2008, entitled “Systems, Methods, Apparatus, and Computer-Readable Mediums for Determining a Meal and/or Meal Plan,” the entire contents of which are incorporated herein by reference in its entirety.

BACKGROUND

1. Field of the Invention

The present disclosure relates generally to methods, systems, apparatus and computer-readable mediums, storing programs, including a personal computing device, and more specifically, to systems, methods, apparatus and computer-readable mediums, storing programs, for determining a meal and/or a meal plan at a personal computing device.

2. Description of Related Art

Retailers are providing larger retail shopping establishments that provide an increasing amount of services to the customer. However, as the number of services increase, and as the number of customers increase, it becomes increasingly difficult to provide sufficient customer service. Further it becomes increasing difficult to manage customer information and provide customers with information relevant to their shopping experience including information regarding meals and meal plans. Conventional personal computing devices fail to address this need for a single source of information for a customer.

SUMMARY

Methods, systems, apparatus and computer-readable mediums, storing sets of instructions, are described in the present disclosure for determining at least one meal combination, including receiving, at a server, information identifying at least one food item; accessing, from a storage device, a set of meal combination rules; applying, at the server, the accessed set of meal combination rules to a plurality of food items; determining, at the server, at least one meal combination including a plurality of food items including the food item identified by the received information; and transmitting the determined at least one meal combination from the server to a computing device for display.

Alternatively, methods, systems, apparatus and computer-readable mediums, storing sets of instructions, are described in the present disclosure for generating a meal plan, including accessing a set of meal plan rules; applying the set of meal plan rules to a plurality of food items; determining a plurality of meal combinations, each of the plurality of meal combinations including a plurality of food items, based on the applied set of rules; and transmitting the determined plurality of meal combinations from a server device to a computing device.

Additional features and aspects of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The features and aspects of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several embodiments of the invention and, together with the description, serve to explain the features and principles of the invention. In the drawings,

FIG. 1 is an example diagram of a system environment in which methods, systems, apparatus and computer-readable mediums, consistent with the principles of some embodiments of the present invention, may be implemented;

FIG. 2 is an example diagram of main components of a personal shopping device, consistent with some embodiments of the principles of the present invention;

FIG. 2A is an example diagram of the application components of a personal shopping device consistent with some embodiments of the present invention;

FIG. 3 is an example diagram of components of a key fob, consistent with the principles of some embodiments of the present invention;

FIG. 4 depicts an example diagram of the main components of an application server, consistent with the principles of some embodiments of the present invention;

FIG. 4A depicts an example diagram of the relationship of some of the data tables consistent with the principles of some embodiments of the present invention;

FIGS. 4B-4C depict some example data tables consistent with the principles of some embodiments of the present invention;

FIG. 5 depicts an example planogram consistent with the principles of some embodiments of the present invention;

FIG. 6 depicts an example tables stored in memory consistent with the principles of some embodiments of the present invention;

FIGS. 7A-7D depicts example images presented to a consumer utilizing a personal shopping device, consistent with the principles of some embodiments of the present invention; and

FIG. 8 depicts an example flow diagram of the steps performed in providing a meal combination, consistent with the principles of some embodiments of the present invention.

DETAILED DESCRIPTION

Reference will now be made in detail to the present invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.

Overview

Methods, systems, apparatus and computer-readable mediums, storing program(s) executed by a processor to perform methods consistent with principles of some embodiments of the present invention enable a customer to generate and maintain a list of products and/or systems for purchase. Further methods, systems, apparatus and computer-readable mediums, storing program(s) executed by a processor to perform methods consistent with principles of some embodiments of the present invention enable a customer to request and receive meal suggestions and/or meal plan suggestions as discussed herein. Further methods, systems, apparatus and computer-readable mediums, storing program(s) executed by a processor to perform methods consistent with the systems discussed herein enhance a consumer's personal shopping experience by providing a personal shopping device to a consumer in a retail shopping environment and enabling the consumer, utilizing a consumer interface, to access information. Further methods, systems, apparatus and computer-readable mediums, storing program(s) executed by a processor to perform methods consistent with the systems discussed herein enable a user, through an application server, to manage information delivered to the personal shopping device. Further methods, systems, apparatus and computer-readable mediums, storing program(s) executed by a processor to perform methods consistent with the systems discussed herein enable a retailer to manage inventory, location of products within a shopping establishment and/or study and maximize product layouts in order to maximize sales. Further methods, systems, apparatus and computer-readable mediums, storing program(s) executed by a processor to perform methods consistent with the systems discussed herein provide a user with a loyalty card, personal key fob, etc. that interacts with the personal shopping device to customize the shopping experience. Further methods, systems, apparatus and computer-readable mediums, storing program(s) executed by a processor to perform methods consistent with the systems discussed herein provide for the efficient exchange of content between a personal shopping device and an application server. Further methods, systems, apparatus and computer-readable mediums, storing program(s) executed by a processor to perform methods consistent with the systems discussed herein enable manufacturers to schedule and send information to the personal shopping device. Further methods, systems, apparatus and computer-readable mediums, storing program(s) executed by a processor to perform methods consistent with the systems discussed herein enable customers to place orders for counter services. Further methods, systems, apparatus and computer-readable mediums, storing program(s) executed by a processor to perform methods consistent with the systems discussed herein enable efficient management of company information, shopping establishment information and customer information within the system. Further methods, systems, apparatus and computer-readable mediums, storing program(s) executed by a processor to perform methods consistent with the systems discussed herein, provide for generating meal combinations and/or meal plans.

It may be appreciated by one of ordinary skill in the art, that the methods, systems, apparatus and computer-readable mediums, storing program(s) executed by a processor to perform methods discussed herein may be implemented in a variety of shopping environments. For example purposes, methods, systems, apparatus and computer-readable mediums consistent with principles of the present invention will be discussed herein in a retail grocery shopping environment. The terms personal shopping device and personal computing device are used interchangeably herein. The terms customer and consumer are used interchangeably herein.

It may be appreciated that the methods discussed herein may be machine-implemented and/or computer-implemented methods within system 100 as discussed herein.

System Architecture

FIG. 1 is an example diagram of an environment of system 100 for implementing the principles of the present invention. The components of system 100 may be implemented through any suitable combinations of hardware, software, and/or firmware. As shown in FIG. 1, system 100 includes a plurality of stores 102, 104. Store 102 includes store server 110 that is maintained by the grocery store. Store 102 further includes a plurality of application servers 106, 108 that may interact with a plurality of application servers 120, 122 through network 116. Alternatively, application servers 106, 108 may be implemented as one server. Store 102 may further include a buffer server 107 that is communicably linked to both store server 110 and one or both of application servers 106, 108. Buffer server 107 may store information that may be shared between application servers 106, 108 and store server 110. The buffer server 107 may serve to protect information stored at the respective servers, so that all information stores at the respective servers may be secure. Alternatively, one of both of application servers 106, 108 may be communicably linked to store server 110. A plurality of personal shopping devices 112, 114 physically located within or near store 102 may interact with application servers 106, 108, using known technology, including wireless communication. A consumer may access the personal shopping device 112 to access and manage information to enhance their shopping experience. Each personal shopping device 112, 114 may be associated with a unique identifier. The consumer may access the personal shopping device 112 with a key fob 140.

System 100 may further include operator server 124 wherein a user at operator server 124 may manage information that is provided to application servers 120, 122, servers 106, 108 and/or personal shopping device 112, 114 through network 116. Manufacturer 126, 128 may further reside on within system 100 wherein manufacturer 126, 128 may access application servers 120, 122 to request and/or schedule information related to their products to be downloaded to personal shopping device 112, 114.

System 100 may further include client computers 130, 132, which may be communicably linked to application servers 120, 122, wherein a consumer may enter information for access by the personal shopping device 112, 114. For example, the consumer may access application servers 120, 122 and enter information, i.e., a shopping list, for access at the grocery store by the personal shopping device 112, 114. Application servers 120, 124 may be communicably linked to databases 142, 144 for storing information for facilitating the consumer shopping experience as discussed herein.

Finally, system 100 may include merchant servers 134, 136. Merchant servers 134, 136 may be accessed by application servers 120, 122 and/or personal shopping devices 112, 114 to obtain content for viewing by the consumer at the personal shopping device 112, 114.

It may be appreciated that one or more databases may further reside within, or communicably linked to, a shopping establishment and may be communicably linked to application servers 106, 108. Application servers 106, 108, database(s) communicably linked thereto, etc., may store information regarding a plurality of consumers as discussed herein, for example, consumer identifying information including the consumer's name, residence address, e-mail address, age, gender, marital status, income, demographic information, shopping history, family information including information regarding children, pets, etc., budget information, product preferences (e.g., preference for name or national brand or generic brand, vegetarian, vegan, kosher, etc.), etc. Additionally, information identifying one of a plurality of segments the customer belongs to may be stored in association with the customer. A segment may describe how valuable a customer is to a retailer. For example, customers who only purchase sale items, and thus provide a low profit to the retailer, may be included in segment “a”. As another example, customers who only purchase full price items, and thus provide a high profit to the retailer, may be included segment “x”. There may be a plurality of segments between these two extreme categories. All of the customer's identifying information may, be stored and accessed by application servers 106, 108, personal shopping devices 112, 114, store server 110, etc. This information may be accessed and analyzed in order to facilitate and enhance the consumer's shopping experience as discussed herein.

It may be appreciated that additional information may be stored in one or more databases 142, 144 and/or databases communicably linked to application servers 106, 108 and/or store server 110 (not shown) and/or application servers 120,122 as discussed herein. For example, incentive information, e.g., coupons, may be stored and associated with one or more products, recipes, meal combinations, meal plans, customers, etc. Coupons and/or incentives may include tags, codes, barcodes, e.g., UPC (Universal Product Code) symbols, etc., that include identifying information regarding the product to which the coupon is associated with The code, e.g., UPC code, may further include category information that describes the type of product the coupon relates to. The code, e.g., UPC, as may be appreciated by one skilled in the art, may include a link to multiple UPC codes. These codes, e.g., UPC codes may be used to determine when to offer the incentive, or coupon, and which coupon or incentive to offer to the customer. The incentives may be submitted to be provided to a customer, within system 100, by manufacturer 126, 128, operator server 124, application servers 120, 122, application servers 106, 108, store server 110, merchant server 134, 136, etc. One or more incentives may be provided to the customer as discussed more fully below.

It may be appreciated by one of ordinary skill in the art that, while only one or two devices, client computers, and/or servers may be depicted, many devices, client computers, and/or servers may reside within system 100. While network 116 may be implemented as the Internet, network 116 may be any local or wide area network, either public or private. It may further be appreciated that while servers 106, 108 and servers 120, 122 are both application servers, their functionality may differ as discussed herein.

FIG. 2 depicts an example block diagram of components included in personal shopping device 112, 114. Personal shopping device 112, 114 may be implemented as a computing device that may be made a part of a shopping cart. Personal shopping device 112, 114 may include central processing unit 202, a touch display screen 204, application software 206, memory 208, secondary storage 210, and input/output devices 212. Personal shopping device 112, 114 may be communicably linked to servers 106, 108. Further, personal shopping device 112, 114 may be communicably linked to merchant server 134, 136 through servers 106, 108.

A customer may access network 116 through sever 106, 108 using application software 206 wherein the application software may include a conventional browser including conventional browser applications available from Microsoft or Netscape. Application software 206 may further include a user interface that enhances a consumer's shopping experience by providing a plurality of features as discussed herein.

Input/output devices 212 may include, for example, a bar code reader, a USB port for receiving key fob 140, an interface to receive a variety of external devices, including, but not limited to, a smart card, a floppy disk, an external memory device, i.e., compact flash card, memory stick, etc., and a touch screen display for displaying information to the consumer and receiving information from the customer through input at the touch screen, etc.

FIG. 2A depicts a plurality of applications that may be performed at the personal shopping device. It may be appreciated that one or more of these applications may be stored and executed at application servers 106, 108 or application servers 120, 122.

FIG. 3 depicts an example block diagram of the components that may reside on key fob 140 consistent with principles of some embodiments of the present invention. As can be seen in FIG. 3, key fob 140 includes verification algorithm 302, identification information 304, secondary storage 306 and session management information 308. As depicted in FIG. 3, identification information may be stored. Upon issuance of the key fob 140 to the consumer, the system associates unique identification information 304 with the consumer. This unique identification information 304 identifying the consumer may be stored on key fob 140. Upon insertion of the key fob 140 into personal shopping device 112, 114, a verification algorithm 302, stored on key fob 140 may be performed to verify the authenticity of key fob 140. Upon proper verification, the consumer may access the information available at the personal shopping device 112, 114. Further, a session may be created and managed utilizing session management information 308, stored at key fob 140. As such, in the event of a personal shopping device failure, as the device stores all interaction between the customer and the personal shopping device, the consumer's session may be fully restored using the information stored at session management information 308.

FIG. 4 depicts an example diagram of application servers 106, 108, 120, 122 that may be implemented in system 100, consistent with the principles of some embodiments of the present invention. As shown in FIG. 4, application servers 106, 108, 120, 122 include a CPU 402, application software 404, memory 406, secondary storage 408, network interface application 410, and input/output devices 412. Input/output devices 412 may include, for example, a keyboard, a mouse, a video cam, a display, a storage device, a printer, etc. Application software 404 may include software applications that facilitate the scheduling and sending of smart content as discussed herein to personal shopping devices 112, 114. Application software 404 may further include software applications that facilitate the tracking of personal shopping devices within and around the retail shopping environment, and, based upon the tracking information, facilitate determining certain information as discussed herein. Application software 404 may further facilitate the functionality in accordance with the personal shopping devices 112, 114 discussed herein. It may be appreciated that the configuration of operator server 124, manufacture server 126, 128, client computers 130, 132 and merchant server 134, 136 may be similarly configured to the application servers as depicted in FIG. 4 wherein the application software may differ in accordance with the functionality of the individual computers as discussed herein.

Personal Shopping Device Tracking Application

Using conventional applications, the system may track the present location of each of the plurality of personal shopping devices located in or near the shopping environment. In addition to tracking each of the plurality of personal shopping devices, for each personal shopping device, the system may store the position of the personal shopping device at predetermined intervals, i.e., every, five seconds. This information may then be used to determine the actual location of the personal shopping device with respect to certain products, either part of or the total path of the personal shopping device as it travels through the shopping environment, etc. This information may be used for several purposes.

First, using this information, the system may determine where, within the shopping environment, the personal shopping device is located. Certain flags or conditions may be set within the system such that upon the determination of, a personal shopping device being within a certain distance of a particular location, directed advertising may be employed. This directed advertising may or may not take into consideration the consumer's shopping history. The user, at operating server 124 or at application servers 120, 122, may create and modify these flags or conditions thus establishing an event-driving process. For example, if it is determined, based upon the location of the personal shopping device, the consumer is located in the juice section, a computer-generated discount may be offered to the consumer. These computer-generated discounts may be offered to some or all of the consumers when they are within a predetermined location of the juice section. Alternatively, if it is determined that the consumer has spent $20 in juice in the past 2 weeks, based upon a consumer's stored shopping history, a computer-generated discount may be offered to the consumer based upon the consumer's shopping history. These computer-generated discounts may be offered by displaying the discount to the consumer on the display of the personal shopping device 112, 114. Similarly, advertising, surveys, etc., may selectively be displayed to the consumer based upon personal shopping device location and/or the consumer's shopping history.

Second, using the set of determined positions obtained using the personal shopping device location application, a part of or the total path of the personal shopping device through the shopping establishment may be determined. This may be, useful to identify how frequently each aisle, area, zone, etc., of the store is visited. By identifying which areas of the shopping establishment are most frequently visited, the shopping establishment owner may optimize this space by placing certain products within the area that the shopping establishment owner would like to sell quickly, heavily advertise, place special deals, etc. Further, by identifying those areas of the store that are least frequently visited, the shopping establishment owner may re-arrange the products within the store to generate more traffic in those less-traveled areas. Further, it may provide information indicating that the layout of the shopping establishment is confusing to the consumer, not laid out properly, etc.

Third, the system may store information relating to the date, duration, etc. of a customer's shopping experience. Using the information obtained, the shopping establishment owner may be able to compare the speed of shopping at one store with the speed of shopping at another store.

Fourth, the personal shopping device position information may be used to support the self-healing planogram discussed below.

Content Scheduling Application

A user may schedule content to be downloaded and displayed to a consumer at the personal shopping device using an application at operator server 124, and/or application servers 120, 122. Alternatively, a user at application servers 106, 108 or buffer server 107 may schedule content to be downloaded and displayed at the personal shopping device. Using the content scheduling application, a user may enter the content to be displayed, the start and end date/time, which shopping establishments and/or personal shopping devices the content should be downloaded to (either by designating the individual personal shopping devices, or the individual consumers), the commands to be performed by the personal shopping device before and/or after the content is to be displayed, etc. This content may be directed, active, and/or passive advertising and may be in the form of text, images, etc., commands to be performed by the CPU of the personal shopping device, updates for software applications, etc.

Alternatively, the manufacturer, using a similar content scheduling application, may access application servers 120, 122 to request scheduling of content by inputting similar information. This request may be reviewed prior to the scheduling of the content, or may be automatically scheduled.

Alternatively, the content may simply be stored either at application servers 106, 108, buffer server 107, or personal shopping device 112, 114 where the content is pushed to the personal shopping device and played in a list order, randomly, etc.

Personal Shopping Device Update Application

Information may be updated at the personal shopping device when the personal shopping device is recharging. A determination may be made to ensure sufficient power remains at the personal shopping device for the duration of the download and installation, if the personal shopping device is not plugged in. For example, upon a determination that the personal shopping device is not recharging, and that a predetermined power level is maintained, the personal shopping device may generate a message to application servers 106, 108, advising the application servers 106, 108 that the personal shopping device is ready to download content. Upon receipt of the message, application server 106, 108, prepares a response to the personal shopping device providing the personal shopping device with a public key and advises the personal shopping device that updates are ready for downloading. Using the updating content application, the personal shopping device retrieves a private key from its storage and submits a request with the private key for updated content data. This ensures that only the proper personal shopping devices may download content from application servers 106, 108. Upon receipt of the request, application servers 106, 108 transmit the updated content to the personal shopping device.

This exchange of transmissions between the personal shopping device and application servers 106, 108, may be facilitated with Microsoft's Message Queuing Center (MSMQ) wherein the header of the messages are modified to include security information, i.e., an RSA key, to ensure secure transactions.

It may be appreciated by one skilled in the art that the power level determination may not be performed if the personal shopping device is recharging.

Information Management Hierarchy

Information relating to the plurality of shopping establishments, the companies that own the shopping establishments and the customers shopping within the shopping establishments may be stored in a manner that enables real-time access to accurate current and historical data. FIG. 4A depicts example data tables and their relationship therein consistent with the principles of some embodiments of the present invention. FIGS. 4A and 4B depict some example data in the data tables consistent with some embodiments of the present invention. It may be appreciated that the data tables depicted in the figures may include additional information that is not discussed herein. Further, it may be appreciated that additional tables may be stored including additional information relating to the companies, the shopping establishments, and/or the customers. For example, additional information may be stored relating to the customer's shopping experience, including shopping lists, items, price, and quantity of items purchased, click-throughs of the user interface, customer demographic data as discussed above, path of the customer through the store, advertisements that were presented to the customer, coupons used by the customer, etc.

As depicted in FIG. 4A, a plurality of data tables are provided. Data tables may be implemented using an Excel spreadsheet application by Microsoft Corporation, Macromedia Flash application by Adobe Systems Incorporated, a dynamic HTML application etc. The data tables may include Company Information 421, Hierarchy Information 423, Level Information 425, Location Information 427, and Grouping Details 429. FIG. 4A depicts the association between the data tables. Examples of the data tables depicted in FIG. 4A are set forth in FIGS. 4B-4C.

Company Information 421 stores information related to the company, including the company ID, as a primary key, and further includes the date the company record was created in the data table, and the name, street, state, zip code, country, telephone and fax number of the company. An example of a Company Information data table is depicted in FIG. 4B-4C.

Hierarchy Information 423 stores information relating to the hierarchy definitions and includes Company ID and Hierarchy as the primary keys, and further includes the date the record was created and the name of the Hierarchy. An example of a Hierarchy Information data table is depicted in FIG. 4B.

Location Information 427 stores information relating to the individual locations of each of the shopping establishments of the companies stored in Company Information 421 and includes Company ID, Hierarchy ID, Member ID and Time Zone ID as primary keys and further includes the date the record was created, the member name, level ID, street, city, state, country, zip code, phone and fax number of the shopping establishment. Location Information 427 establishes which individual shopping establishments belong to which levels. An example of a Location Information data table is depicted in FIG. 4B-4C.

Level Information 425 stores information relating to the level definitions and includes Company ID, Hierarchy ID, and Level ID as primary keys and further includes the date the record was created in the data table and the level name. An example of a Level Information data table is depicted in FIG. 4B.

Grouping Details 429 stores information relating to the groupings, or roll-ups of the shopping establishments and includes Company ID, Hierarchy ID, and Group ID as primary keys and further includes the date the record was created and the Member ID. Grouping Details 429 associates individual shopping establishments to certain groups. An example of a Grouping Details data table is depicted in FIG. 4B.

Each of the data tables further stores information relating to whether the records included therein are active or inactive. For example, if a store moves locations, then a new record may be created within Location Information 427 maintaining the Member ID but updating all of the other stored data in the new record. The old record of the closed store will be saved in the data table, however the record may be indicated as being inactive.

By storing the information in this manner, as companies and individual shopping establishments change locations, a simple update to the tables discussed herein, while maintaining the historic data provides for real-time data access to the current and historic data. For example, if Member ID 1001 moves location to Zone-California South, a new record is created in Location Information 427 listing Member ID 1001, the new time zone ID, the date the new record was created, the member name, and the new Level ID associated with the new location. In addition, the old record is marked as inactive and the date the record was marked inactive is stored. None of the other tables need to be updated. The new information is maintained as current information, and the historic information is maintained for data mining purposes.

As such, any time any of the values represented in the tables need to be updated, only those tables that store the value to be changed need to be updated.

By establishing and maintaining the tables in this manner, real-time current and historic data may be data mined. For example, as the active/inactive status of records and the date records are created and the date records go inactive are stored, while still maintaining the data after records go inactive, by clarifying at least one of Company ID, Hierarchy ID, Member ID, Level ID, Group ID, time period, or any other information stored in the tables, accurate real-time current and historic data may be obtained.

It may be appreciated that records may be established in order to enable a company to select certain shopping establishments for targeted advertising, without being limited to the previously established levels in the table. For example, a new record may be established in Level Information 425 with a level ID 99999. Company 1 may wish to provide an advertisement for Tide detergent only to store Member ID Nos. 1001, 10001, and 10002. By adding new records in the Grouping Details 429, where store Member ID No. 1001, 10001, and 10002 have Group ID No. 99999 (in addition to group ID Nos. already assigned, i.e., 10001, 1000000, and 1000000, respectively) the company can designate the Tide detergent ad be displayed to customers associated with Group ID No. 99999. This provides added functionality because Company ID 1 is not limited to sending the advertising to all of the stores within the levels that may already be defined within Level Information 425. Company ID 1 may, in a simple manner, target advertising to specific stores, regardless of predefined levels. It may be appreciated that this may save the companies money in advertising costs, administrative costs, etc. It may further be appreciated that, in addition to selecting stores to target advertising, a company may similarly select among the demographic customer information, customer's shopping history, etc., to target advertising. It may further be appreciated that by establishing such a 99999 record, information regarding the predefined levels are not affected. As such, data mining for the predefined levels remains the same, while providing the added functionality of defining levels for targeted advertising.

It may be appreciated that similar functionality may result by adding new hierarchy Ids in the Hierarchy Information table as shown in FIG. 4B.

It may be appreciated that additional tables may be provided for maintaining customer information. For example, a Customer Information table may be provided including primary key Customer ID, and storing demographic information of the customer including age, age range, gender, date of creation of customer record, number of members in the household, number of children, age and gender of the children in the household, household income, etc. Further a Shopping Transaction table may be provided including primary keys for Customer ID, Transaction ID and Location ID, and further including date, type, quantity, price, etc., of products purchased, click-though data, advertisements viewed, date, time and cart path of shopping trip, entry time and exit time of each zone during each shopping trip, etc.

It may be appreciated that additional information may be stored in these tables to expand data mining results.

It may be appreciated that all of the tables discussed herein may by stored at application servers 106, 108, 122, 124, and/or database 142, 144.

Self-Healing Planogram Application

For each store, application servers 120, 122, 106, 108 may store in memory the store's planogram, i.e., a design that shows where specific products are laid out on retail shelves or displays. FIG. 5 depicts an example planogram consistent with principles of some embodiments of the present invention. As depicted in FIG. 5, the store includes aisles 502, 504, 506, end caps 508, 510, and 512, produce displays 514, 516, 518, 520, dairy display 522, meat and seafood display 524, wine displays 526, 528, hot food/salad bar display 532, 534, and bread display 530. For example, the store may be broken down into a plurality of zones and each product in the store may be designated as being located within a particular zone. As shown in FIG. 5, dairy display 522 may be identified as zone 1 536, produce displays 514, 516, 518 may be designated as zone 2 540 and produce display 520 may be designated as zone 3 538.

It may be appreciated that the data relating to each store's planogram may be stored in data tables with similar structure discussed above with regard to the information management hierarchy.

Information may be stored relating to the location of products within the shopping establishment. For example, for each of the plurality of zones depicted in FIG. 5, information may be stored identifying the metes and bounds of each of the plurality of zones and information relating to the location and descriptive information associated with the products located within each zone. FIG. 6 depicts example tables that may be utilized in storing information within the shopping establishment. As shown in FIG. 6, table A 600 stores the boundaries of each of the plurality of zones, i.e., the metes and bounds of each of the plurality of zones, in the shopping establishment. Column 602 identifies each zone, column 604 identifies the minimum coordinates of each of the zones and column 606 identifies the maximum coordinates of each of the zones. It may be appreciated that alternatively methods may be utilized in identifying the metes and bounds of each of the plurality of zones. Column 611 identifies the location identification of the shopping establishment.

Further Table B 608 may store information about each of the products included in the shopping establishment, including a specific location of the product within the zone, descriptive information relating to the product, etc. For example, table B 608 includes a SKU #, a unique identification number that uniquely identifies a particular product, a Zone ID, representing the zone that the product is located in, and a product number. It may be appreciated by one skilled in the art that additional information may be stored in these tables.

One of ordinary skill in the art may appreciate that alternatives to zones may be implemented in storing information relating to the positioning of products within the shopping establishment, i.e., the store may be broken down into smaller or larger areas; etc.

The planogram discussed herein may be self-healing, in that there does not need to be any user interaction to update the product location information stored in the tables, for example, in the event that the product display has been relocated within the shopping establishment. As noted above, the tables store information identifying the location of each of the products located in the shopping establishment. When a consumer scans an item and places the item in his shopping cart, the personal shopping device receives the bar code information. This information may be uploaded to application servers 106, 108. This information may further be associated with the position information of the personal shopping device. The system may assume that the consumer placed the item in the cart at approximately the same location where the consumer took the item from the shelf/display. The location information may be compared with the location information stored in the tables. If the information is different, the system may flag the item and, if a predetermined number of consumers are placing the same item in the their carts at the new location, the system may automatically set the entry of the item in the tables as “inactive”, and create a new entry in table B identifying new position or zone of the item. Thus, the planogram does not necessarily need to be manually updated. It may be self-healing in that, as consumers shop within the shopping establishment, the tables may be automatically updated.

When a consumer performs a search for a product, as discussed below, these tables may be searched to identify the location of the product within the shopping establishment. Further, the consumer may use the information in these tables to access the location, direction and distance to the product based upon the current personal shopping device location.

Further, data mining may be performed to determine where a product sells the best. By viewing data relating to where the item was located and how many customers purchased the item, the shopping establishment may determine where to place an item achieving optimum sales.

User Interface

Consistent with some embodiments of the present invention, the user interface of the personal shopping device may be generated based on stored customer information. This customer information may be collected at the time the consumer signs up for a loyalty card/key fob, etc. The information may be stored at store server 110, application servers 106, 108, application servers 120, 122, and/or databases 142, 144. The user interface may alternatively be generated based on stored customer information that is collected based on a customer's past shopping experience and/or may be generated based on a combination of the customer information collected at the time the consumer signs up for the loyalty card/key fob, etc., and the shopping history information.

When registering for a loyalty card, key fob, etc., the customer may be asked for personal information. For example the customer may be asked for age, sex, address, zip code, number of family members in the household, number of children, age of children, household income, etc. All of the information provided by the customer may be stored as indicated above. Additionally, information may be stored regarding the date of the last shopping trip of the customer, the duration of the last shopping trip, etc.

Different display attributes may be stored in memory and associated with the different categories of customer information. Certain display attributes may be associated with gender, age and/or age group, race, address, marital status, number of children, sex of children, etc. For example, if the customer is female, then the display may have a certain color background that may be more appealing to females; if the customer is Spanish and the customer's first language is Spanish, then the text displayed on the display may be in the Spanish language; if the customer's eyesight is poor, this information may be associated with a large font size; etc.

Information may further be stored relating to a customer's past shopping experience. For example, each time the customer touches the personal shopping device, the buttons selected by the customer may be stored. This data may be accessed in order to determine how frequently the customer selected each of the menu options on the personal device. If the system determines that the customer uses the shopping list feature the more frequently, then the actuatable button representing the shopping list function may be more prominently displayed on the user interface, i.e., at the beginning of the list of actuatable buttons, displayed as a larger button than the other actuatable buttons, etc. The next most frequently used feature may be displayed second in the list, as the second largest button, etc.

The content to be displayed on the personal shopping device may be stored and associated with the different categories of customer information. The content displayed on the personal shopping device may be displayed based on the stored customer information. For example, if the customer is Spanish, the recipes offered to the customer may be from the Spanish culture, i.e., paella, beans and rice, etc.

In addition, the weekly flyer may be generated dynamically based on customer information. The advertisements eligible for the weekly flyer may be associated with different categories of customer information; the advertisements eligible for the weekly flyer may be associated with particular types of products, etc. For example, if the customer has a newborn baby, the weekly flyer may include an advertisement for diapers. Alternatively, based upon access of the customer's shopping history and past purchases, the system may determine that canned corn is frequently purchased. Based upon this determination, the weekly flyer may include an advertisement for canned beans, based upon the association of the canned beans with canned vegetables. For another example, an advertisement eligible for the weekly flyer for chips may be associated with soft drinks. These associations may be determined by a store employee, the advertiser, the manufacturer, etc.

In addition to the advertising included in the weekly flyer, additional advertising may be displayed on the personal shopping device based on the customer information during the customer's shopping experience. This additional advertising may be associated with particular products. The system may store information regarding the particular items, quantity, etc. a customer purchased in the past. The additional advertising may be selected and displayed on the personal shopping device based on, for example, the most frequently purchased items. For example, the application server 106 may access the customer's shopping history and determine the top, for example, eight, products the customer purchases most frequently. Advertisements associated with the eight most purchased products may be displayed to the customer throughout the shopping trip randomly; may be displayed based on the position of the personal shopping device within a predetermined distance of the product, etc.

Personal Shopping Device

Consistent with some embodiments of the present invention, the use of the personal shopping device provides certain functionality to the consumer to enhance his shopping experience. Some examples of this functionality include personalized offers, as discussed above, storage of shopping history, item search/locator, price check and/or suggestions of alternative products, access to recipe information, an interactive shopping list, self-scanning, etc.

Upon access to the personal shopping device, as noted above, the consumer may view an example screen shot as depicted in each of FIGS. 7A-7D. As shown in FIG. 7A, a featured recipe 702 is advertised. If the consumer wishes to view the recipe and the ingredients of the recipe, the consumer may select the “view this recipe” button 704. Upon selecting button 704, the recipe may be displayed together with a shopping list of the ingredients that are needed to make the dish. In addition to the featured recipe 702, the shopping establishment's top specials 706 may be displayed. Further, menu items are provided wherein the consumer may select any of the menu items. For example, the user may select home 708 wherein the consumer may be directed to the home page of the application. The consumer may further select 710 in order to access additional daily specials. These daily specials may be specials offered to all consumers within the shopping establishment or may be special offers made to the consumer based upon the consumer's shopping history. The consumer may further select 712 in order to access the product directory to, i.e., search for a product in the store. The consumer may select 714 to access the consumer's personal shopping list. The consumer may select 716 to access recipes. The consumer may select 718 to access an electronic calculator, a calculation application that allows the consumer to perform basic math computations. The consumer may select 720 to access a help application that explains how to use the personal shopping device. Additionally, section 722 presents passive advertising to the consumer, similar to banner advertising.

FIG. 7B depicts an alternative example screen shot that may be displayed to a consumer upon access to the application on the personal shopping device. Alternatively, as depicted in FIG. 7B, the user may select fun stuff 724 to access entertainment information. For example, if the consumer was shopping with a child, the consumer may access appropriate entertaining videos to occupy the child while the consumer was shopping. Alternatively, the consumer may access music information for the consumer to listen to while shopping. Alternatively, the consumer may purchase this information and store it on the consumer's key fob 140. This information may subsequently be transferred to a device at the consumer's home.

FIGS. 7C-7D depicts alternative example screen shots that may be displayed to a consumer upon access to the application on the personal shopping device.

It may be appreciated by one skilled in the art that the display of the personal shopping device may be flipped, rotated, etc., so that a person sitting in the cart may properly view the information appearing on the display of the personal shopping device. It may further be appreciated that the personal shopping device may include speakers, an earphone assembly, microphone (to enable the consumer to interact with the personal shopping device through voice), etc.

As the customer uses the personal shopping device, information regarding the customer's interaction with the personal shopping device is stored, including products scanned (type of product, price, quantity, time of scan, etc.), advertisements displayed, time advertisements were displayed, click-throughs, products searched, cart path, counter services ordered (including the details of the order), shopping list information, date of shopping trip, start and end time of shopping trip, etc. The information may be stored at the personal shopping device during the customer's shopping experience. The information begins being compiled at the personal shopping device when the customer logs on. During the customer's shopping experience, the information regarding the customer's interaction may be stored, for example in a flat file, at the personal shopping device. The flat file may include a customer ID, a shopping establishment location ID, start date, start time, stop date, stop time, advertisement ID representing advertisements displayed, time of advertisement display, time spent is different zones within the shopping establishment, start and stop time entering and leaving zones within the shopping establishment, products scanned, click-throughs, etc. After the customer logs off the device, the personal shopping device may filter the flat file and transmit the filtered flat file to store server 110, and/or application servers 106, 108. Store server 110 and/or application servers 106, 108 may update the appropriate data tables with the information stored in the filtered flat file and/or may transmit the filtered flat file to application servers 120, 122 for processing and storage of the data in database 142, 144.

It may be appreciated that alternatively, the personal shopping device may trigger interaction with other devices within the shopping establishment. For example, kiosks, displays, and other computing devices, may be situated throughout the shopping establishment that may provide additional and/or enhanced services to the customer. Based on the customer's position in the shopping establishment, the system may determine that a customer is physically close to another computing device. The system may instruct the other computing device to active and play content engaging the customer to use the other device and offer the enhanced and/or additional services. Some examples of services that may be provides at the displays/kiosks may include printing of coupons, printing, access, and/or searching of recipes, printing of pictures ordered using the photograph counter services application, recording of media on a removable storage device, customized searching on the Internet based on the stored customer information, purchasing of lottery tickets, obtaining funds from an automatic teller machine where the kiosk is communicably linked to the customer's banking company, validating parking and alternatively, validating parking were the parking fee is added to the customer's shopping check-out total, media rentals including video tapes, DVDs, etc., postal service kiosks wherein the customer may mail a package, and alternatively, the customer's cost for mailing the package may be added to the customer's shopping check-out total, providing fast food or snack food services wherein the cost of the food may be added to the customer's shopping check-out total, providing personalized audio/video directed to the customer, provide games to the customer, provide advanced input features to enable the customer to provide comments or responses to surveys regarding the customer's shopping experience, providing instructions videos to the customer or members of the customer's family, printing customized books, i.e., coloring books, story books, etc., wherein the book is customized to the customer or members of the customer's family, enable searching for and provide event tickets, purchase mobile/cellular telephone cards and/or replenish mobile cellular telephone minutes, enable searching for and provide airline tickets, suggest products for purchase based on stored customer information, i.e., where the product is physically located near the kiosk/display, the product may be suggested based on age, gender, etc., offering voice-over-IP services where the kiosk is communicably linked to the Internet, etc.

Dynamic Advertising

Advertisements may be dynamically generated based on customer information stored within the system. A manufacturer may identify an ad template that may incorporate static components of the ad. Additionally, the manufacturer may further identify dynamic components of the ad that may be associated with certain categories of customer information. The dynamic components may have a priority associated with them. For example, the manufacturer may provide a template that indicates that Tide detergent is on sale. The price of the detergent and the graphic of the price may be incorporated as the static component of the ad. Further, a dynamic component including a graphic of a mother with a child may be associated with the family category having a young child. Still further, a dynamic component of a graphic of an older woman may be associated with an age range of 55-65. When the system determines that a certain customer is to receive the Tide advertisement, the system accesses the customer information. Based on the associated priority information and/or the customer information, a customer of 60 years of age will view the Tide advertisement having the static components and the dynamic component of the graphic of the older woman. As such, the advertisement may be dynamically generated and presented to all customers where the advertisement will appeal to the particular customer that is viewing the advertisement, as the dynamic components may be tailored to specific customer that is viewing the advertisement.

Given the real-time capabilities of the system, the return on investment based on the advertising may be realized. As the personal shopping device and/or the system is storing information regarding the advertising that is being viewed by the customer, the items that are being scanned for purchase, and when the items are being scanned, the system may determine the effectiveness of the advertising in real time. The system may process and store information relating to how may customers scanned the advertised product. If the number is low, then the advertisement may be deemed to be ineffective. This information may be reported back to the manufacturer and the manufacturer may decide to update the static and/or dynamic components of the advertising.

Alternatively, a manufacturer may be able to set thresholds and modify the advertising based on the effectiveness of the advertising. For example, the manufacturer, user, etc., may be able establish that an advertisement needs to be 30% effective; that out of 100 customers viewing the advertisement, 30 customers must purchase the advertised item. If this effectiveness is not achieved, system may automatically i.e., modify the advertising graphics, expand the target audience of the advertising, generate a message to the manufacturer advising of the ineffectiveness of the advertisement, etc. Alternatively, the system may automatically generate reports to the manufacturer at predetermined time(s) advising of the effectiveness of the advertisement(s).

Alternatively, payment for the advertising by the manufacturer may be dynamic based upon the effectiveness of the advertisement. For example, the manufacturer may be billed a lesser amount if only a few customers purchased the product after viewing the advertisement, and may be billed a higher amount if many customers purchased the product after viewing the advertisement.

Alternatively, after viewing the effectiveness of the advertising, the manufacturer may determine that certain dynamic components are more effective than other dynamic components and may decide to modify the priority or the categories of customer information that may be used in generating the advertisement.

Further, the utilizing the data stored in the data tables, a company may be able to determine if a customer is traveling to purchase products. For example, if a customer with one zip code is shopping at a shopping establishment in a different zip code and purchasing products that the customer is not purchasing at a shopping establishment located in the customer's zip code, the company may be able to determine that there is a need for a particular product in the customer's zip code. The company may then provide the needed product at the customer's shopping establishment, making the customer's shopping experience more productive and increasing sales.

It may be appreciated that other types of dynamic advertising may be displayed to the customer based on the customer's stored information. For example, if the customer previously paid for their purchases with a Bank of New York bank card, the system may store information that the customer holds an account at the Bank of New York. During the customer's shopping experience, a Bank of New York advertisement may be displayed promoting the bank's services.

Interactive Shopping List Application

The consumer may further access his personal shopping list using his personal shopping device. For example, the consumer may generate his shopping list at his home computer and download the shopping list to his key fob 140. After the consumer puts the key fob 140 into the personal shopping device and after the consumer is verified, the shopping list may be retrieved from the key fob 140. Alternatively, the consumer may access an application at application sever 120, 122 and enter his shopping list using his home computer. This shopping list may be downloaded to the personal shopping device after the consumer is verified.

Once the shopping list is retrieved, the consumer has the opportunity to add, remove or edit items on the shopping list. Alternatively, the system may retrieve the shopping history of the consumer to identify those items that the consumer purchases on a regular basis. For example, the system may determine that the consumer purchases one half gallon of milk each time the consumer shops. Once the consumer is verified, the system may access the shopping history of the consumer and compare the regularly purchased items with the items on the consumer's shopping list. If there is an item that the consumer normally purchases that is not located on the shopping list, the system may prompt the consumer asking if the item should be placed on the shopping list. This may help to ensure the consumer's shopping list is complete. Further, it helps to generate sales for the shopping establishment.

In addition, the consumer has the ability to enter budgeting information. Upon receipt of the budgeting information, the personal shopping device may analyze the interactive shopping list and the budgeting information and search the information stored in Table B 608 to suggest a list of proposed products that will ensure the consumer stays within budget.

As the system stores both shopping list information and information relating to the items purchased by the customer, the system may generate reports that show the purchasing trends of the customer. For example, the system may determine what products the customer intended to purchase from the shopping list information, and what products the customer did and did not purchase. Further, the system may determine the effectiveness of advertising based on the items intended to purchase on the shopping list, the advertisements that were displayed to the customer, and the actual products purchased.

Alternatively, the system may generate the shopping list for the next visit to the supermarket based on the actual purchases of the customer during the current visit to the supermarket. This list may be modified by the customer at the customer's home using the network application at application servers 120, 122, and/or at the supermarket during the customer's next visit.

The shopping list may be updated as the customer is shopping. Each item for purchase by the customer is scanned, for example, using a bar code reader at the personal shopping device. The personal shopping device may send the scanned information to store server 110 or application servers 106, 108 to obtain the associated product information. Additionally, the product attribute information may further be accessed. The product information and the product attribute information may be transmitted to the personal shopping device. The customer's shopping list may then be processed to determine if the scanned product or an associated product is on the list. If the product is on the list, the product is checked off as selected for purchase. If the product is not on the list, the product may be added to the list. At the end of the customer's shopping trip, all of the items in the shopping cart may be included on the customer's shopping list. This list may be stored locally on the personal shopping cart and/or stored at application servers 106, 108, 120, 122.

Price Check Application

As noted above, personal shopping device may include a bar code reader. The consumer may scan a product to perform a price check. If the consumer wishes to discern the cost of a product, the consumer may scan, i.e., the bar code, of the product. The bar code information is received at the personal shopping device. The price information may be stored at the personal shopping device, may be stored at the application servers 106, 108, or may be stored at buffer server 107. If the price information is stored at the application servers 106, 108, or buffer server 107, the personal shopping device may transmit the price check request to the server storing the price information, i.e., application servers 106, 108 or buffer server 107. The request is received at the appropriate server, the memory queried, and a response may be transmitted back to the personal shopping device. The response may then be displayed to the consumer.

Item Search Application

Each of the products for sale in the store may be stored at store server 110, application servers 106, 108, application servers 120, 122, and/or database 142, 144. Associated with each of the products may be keywords that help identify the product. For example, Tide detergent may be stored and key words associated with Tide detergent may be laundry, soap, detergent, etc. The consumer may query the system attempting to locate a particular item. The item may be located based on the product, or the key words associated with the product. For example, if the customer is searching for Tide detergent, the customer may enter in “laundry soap.” Based on the key words associated with Tide detergent, including “laundry” and “soap”, Tide detergent may appear as a response to the customer's query.

For another example, the consumer may submit a request seeking to find the location of light bulbs. Upon submission of the request, the personal shopping device either searches its own memory, if the information is stored locally, or prepares and submits a query to the application servers 106, 108 or buffer server 107, if the information is stored at one of these servers. Upon receipt of the query, the appropriate server searches its memory and identifies the location of the product within the shopping establishment. The server then prepares a response to the query and transmits the response to the personal shopping device. The personal shopping device then displays the location of the product on the display of the personal shopping device. Alternatively, the personal shopping device or the server may calculate a set of directions based upon the current position of the personal shopping device wherein the directions may be provided to the consumer. This information may be provided to the consumer in a number of ways, including merely identifying the aisle the product is located in, directions, in the form of text, to direct the consumer to the searched product, a map being displayed on the display providing the consumer with a marked path to the product, etc.

Alternatively, in addition to ads, a manufacturer may purchase certain key words that may only be associated with the products stored in the system. For example, the Tide detergent manufacturer may purchase “laundry” as a key word associated with Tide detergent. No other manufacturer may have the word “laundry” associated with their product. Each time a customer searches for a product using the key word “laundry”, only Tide detergent will appear on the list. This may provide an added benefit to the manufacturer as only their product is identified on the search result list, thus reducing competition. Alternatively, manufactures may identify certain stores where their key words are associated with certain products. These selected stores may be based on location.

Alternatively, when a customer searches for a product, and an advertisement is associated with one of the products on the search result list, the customer may be presented with an advertisement that corresponds to a product on the search list.

Alternatively, after the system determines what product the customer is searching for, the inventory database, discussed below, may be queried to determine if there is stock on the sought after item. If there is no stock left, the system may suggest a substitute product. Alternatively, the substitute product may be offered with an advertisement and/or coupon as an incentive for the customer to purchase the alternative item. Still alternatively, the customer may be provided a “rain check” that may be stored within the system, on the customer's loyalty card, key fob, etc. Further if the item is a sale item, the sale price may further be stored and applied during a later shopping trip.

Self-Scanning Application

The consumer may scan a product when the product is placed in the cart for purchase. Upon the scanning of the item, the personal shopping device may store the information indicating that the consumer wishes to purchase the scanned product. At any time, the consumer may review the list of items placed within the cart. This may be beneficial if the cart is particularly full and the consumer is not sure if a particular item on the shopping list was picked up. Upon scanning the item, the interactive shopping list may be searched to determine if the scanned item is on the shopping list. If the scanned item is on the interactive shopping list, the interactive shopping list may be automatically updated and an indication may be made in the interactive shopping list that the item has been picked up for purchase. Upon check out, the information identifying the products that have been scanned into the personal shopping device and placed in the cart may be transferred to a checkout device. This may reduce the amount of time the consumer spends checking out. After a consumer checks out, the information identifying the products purchased may be transmitted, through application servers 106, 108 to application servers 120, 122, for storage in databases 142, 144. Alternatively, application servers 106, 108 may include databases that store the information locally. This stored shopping history may be used for many purposes as discussed herein.

Alternatively, certain products within the shopping establishment may include a RF ID tag. The RF ID tag may be active or passive. A product on a shelf with the RF ID tag may be active. When the customer registers the product with the personal shopping device and being intended for purchase, the personal shopping device may change the RF ID tag to passive. At the time of checkout, the customer's cart may be scanned to determine if there are any active tags in the shopping cart. An active tag in the customer's shopping cart indicates that the customer did not properly scan the product for purchase.

Searching for Alternatives Application

The consumer may scan a product and search for a similar or cheaper product. For example, the consumer may scan an item that is 64 ozs. and costs $8.00. However, maybe the consumer may only need 6 ozs. of the product or maybe the consumer does not wish to pay $8.00. The consumer may select a certain application within the consumer interface at the personal shopping device wherein the product directory may be searched to locate a similar product that is smaller and/or does not cost as much. Alternatively, the consumer may scan a particular product, i.e., Mr. Clean, a cleaning product. The system may identify a similar product that is on sale, or has a computer-generated discount available, and display the alternative to the consumer. The consumer may then take advantage of the information offered to the consumer. For example, the consumer may receive information from the system identifying a computer-generated discount for Lysol cleaner. The consumer may decide to use the computer-generated discount and purchase Lysol instead of Mr. Clean. Upon scanning the Lysol, the system may take note of the use of the computer-generated discount so that, upon checkout, the consumer may receive the discount without having to “clip coupons”, produce any paper notification of the discount, etc.

Recipe Application

In addition to the recipes discussed above, the consumer may search memory located in the personal shopping device and/or application servers 106, 108, 120, 122, for recipes. The recipes may be searched wherein the customer provides one or more products that may be included in the recipe. The recipes may alternatively be provided by a manufacturer through manufacture servers 126, 128. Upon selection of a recipe, the ingredients of the recipe may be placed on the consumer's interactive shopping list. The consumer may make an indication through the consumer interface to remove the item from the interactive shopping list. Further, the consumer may store the recipe on the key fob 140 for downloading at the consumer's home personal computer. Alternatively, the consumer, through personal shopping device 112, 114, may e-mail the recipe to himself for viewing at, for example, home, or the consumer may direct the recipe be printed out at a printer located, for example, at the shopping establishment.

It may be appreciated by one skilled in the art that the personal shopping device may provide the consumer the capability to browse and access merchant servers 134, 136 on the Internet to access information including recipes.

Store server 110, application servers 106, 108 and/or application servers 120, 122 may store information relating to recipes. These servers may further store, or have access to data associating the ingredients of the recipes with certain products in order to assist the customer during the shopping experience. These products that are associated with the ingredients may be store brand products, name brand products, etc. The customer may be provided with an option of selecting whether the products associated with the ingredients for the recipe are store brand products or name brand products. For example, if the customer was shopping at Safeway Supermarket, Safeway may want to promote their store brand products. When a customer selects a recipe to view, additional information may be displayed identifying Safeway brand products that should be purchased in order for the customer to make the recipe.

Alternatively, the customer may have the option to select certain recipes based on characteristics of the dishes produced by the recipe. For example, the customer may select a recipe and may further select a low sodium version of the recipe, a diabetic friendly version of the recipe, a low fat version of the recipe, etc. Additionally, the system may allow the customer to select how many people are being served and modify the recipe accordingly. For example, if the recipe serves 4 people, and the customer is serving 8 people, the system may automatically double the recipe. Further, the products associated with the recipe, taking into account that the recipe has been doubled, may be provided to the customer and/or added to the customer's shopping list.

Further, the customer may request a recipe based on other characteristics, including cost of products, number of calories per serving, amount of fat per serving, kosher ingredients, etc.

Further, the system may enable the customer to select a weekend meal plan, week meal plan, etc., wherein the customer may select several recipes to serve over the weekend, week, etc. Upon selection of the recipes, the associated products may be added to the customer's shopping list, and the meal plan and/or recipes may be stored on the customer's key fob or loyalty card, e-mailed to the customer, etc. The customer may be able to remove those items from the shopping list that the customer has at home.

Alternatively, the system may monitor the selected meal plan to ensure the selected meal plan conforms to a customer's diet. For example, if the customer is on a Weight Watcher's diet, the system may count the points per serving of the recipes selected by the customer and notify the customer of the point count, as a running total, as a final total count, etc.

Still further, the system may store information relating to wines that may be associated with recipes. If a customer has selected a certain recipe, the system may further recommend a wine that may go well with the selected recipe.

Meal/Meal Plan Application

Personal shopping device 112, 114 may provide a meal/meal plan application. The meal/meal plan application may provide the consumer with one or more suggested meal combinations based on one or more rules as discussed herein. In addition, or alternatively, the meal/meal plan application may provide the consumer with a meal plan that includes one or more meal combinations for one or more days. A meal plan, as discussed herein, may be considered as a meal solution wherein one or more meal combinations are provided to a consumer that satisfies a consumer's and/or store's one or more rules. These rules may be based on, among other things, pricing, availability, products or ingredients, portion size, etc., and is discussed more fully herein.

This application may be stored at the personal shopping device 112, 114 or may be stored at applications servers 120, 122 accessible through network 116. For example, the application may be accessible at a web page on a network, e.g., the Internet wherein the personal shopping device may establish a session with application servers 120, 122 in order to receive ideas for meal(s) or meal plan(s).

Methods, systems, apparatus and computer-readable mediums consistent with principles of the present invention are discussed herein in a retail grocery shopping environment. However, methods, systems, apparatus and computer-readable mediums consistent with the principles of the present invention may be implemented in other shopping environments. For example, methods, systems, apparatus and computer-readable mediums consistent with the principles of the present invention may be implemented in any type of shopping environment, for example, an electronics shopping environment wherein product(s), system(s) etc. may be determined and provided to the personal shopping device.

Each of the products, including food items, for sale in the store may be stored at store server 110, application servers 106, 108, application servers 120, 122, database 142, 144, a database communicably linked to application servers 106, 108 or store server 110. Additional information may be stored and associated with each of the products for sale in the store. For example, each of the products may have associated therewith, i.e., as meta data, one or more of the following: key identifier(s), name, description, UPC code, Boolean field to identify, for example, if the item is on sale, price, gross profit margin, fat content per serving, sodium content per serving, number of servings in package, cholesterol content per serving, fiber content per serving, sugar content per serving, carbohydrate amount per serving, etc. It may be appreciated that if certain information related to the product is located at a different device, the application may access the different device to access the information. For example the price information, gross profit margin, etc., may be located at application servers 106, 108, a database communicably linked to application servers 106, 108, at store server 110, etc. In providing the functionality discussed herein, application servers 120, 122 may access application servers 106, 108 or store server 110 and retrieve price information.

As discussed above with regard to the Information Management Hierarchy, it may be appreciated that additional tables may be provided wherein individual stores, groups of stores in a geographical area, groups of stores within predefined zones, etc., may maintain product tables relating to each of the products available at each of the individual stores or groups of stores. Further, additional information may be stored and associated with each of the products available at each of the stores. This additional information may include one or more of UPC code, retailer gross margin, price etc.

In addition, each of the stores may provide a table storing information including rules that are employed when determining meal(s), recipes, meal plan(s), etc. Each of the stores, one or more stores or groups of stores, etc., as set forth in the Information Management Hierarchy discussed above may have associated therewith meal combination rules that may be applied, e.g., to determine one or more meal combinations. Each of the stores, one or more stores or groups of stores, etc., as set forth in the Information Management Hierarchy discussed above may have associated therewith meal ranking rules that may be applied, e.g., to rank a plurality of determined meal plans. Each of the stores, one or more stores or groups of stores, etc., as set forth in the Information Management Hierarchy discussed above may have associated therewith recipe rules that may be applied, e.g., to determine one or more recipes that include one or more food items. Each of the stores, one or more stores or groups of stores, etc., as set forth in the Information Management Hierarchy discussed above may have associated therewith meal plan rules that may be applied, e.g., to determine one or more meal combinations in a meal plan. The meal combination rules, meal ranking rules, recipe rules, meal plan rules, etc., may be set by each individual store, each individual retailer, etc., by using a graphical user interface at the operator server 124, application servers 106, 108, 120, 122, store server 110, etc.

These each of the rules in each of the sets of meal combination rules, meal ranking rules, recipe rules, meal plan rules, etc., may be ranked, or assigned a priority, within each set, in the order in which the rules are applied. For example, when determining a meal combination, one or more of the following rules may be employed in selecting and providing a meal in this priority order: 1) the percentage of products that may be selected from the sale flyer (i.e., select 50% of the items included in the meal from the sale flyer and 50% of the items from products that are not on sale); 2) rank the meal ideas in the order of the highest gross margin to the lowest gross margin; 3) the number of different products in the mix (i.e., determine and provide a meal that has 4 items); 4) the number of products that may be generic or store brands (i.e., select 2 store brand items); 5) the number of products that may be name brands (i.e., select 2 brand name items); 6) the number of products in each different food group (i.e., 1 meat product, 2 vegetables, 1 starch, etc.); 7) the total cost of the products included in the meal combination; 8) the total cost of the products included in the meal plan; etc.

It may be appreciated that the rules noted above and/or the priority of the rules noted above may be different for each store. It may further be appreciated that a set of rules may be assigned as default rules, rules may be added, deleted, or ranked differently on a periodic basis or real time, may be assigned in real time by the consumer of the personal shopping device, etc. For example, the customer may wish to see suggestions for a vegan meal. As such, the user interface of the personal shopping device may permit the customer to optionally select one or more rules that may be employed in determining meal(s) and/or meal plan(s), i.e., the customer may request a meal that only includes 4 vegetables, wherein all of the vegetables are on sale in the flyer. It may further be appreciated that the rules may be accessed or determined in accordance with customer's previously stored personal preferences and/or personal information. For example, if the customer does not like lima beans, the meal(s)/meal plan(s) provided to the customer will not include lima beans. The rules selected by the customer in real time and/or the rules that may be selected based on the customer's previously stored personal preferences and/or information may be solely employed or may be combined with other rules provided by the store in determining meal(s) and/or meal plan(s).

Additionally, information may be stored that identifies products that may not be combined together. For example, if a customer is selecting a breakfast meal, a fruit may be included in the product mix. However, tomatoes may not be combined with a cereal. It may be appreciated that information related to bad combinations of products may also be based on store, geographic area, zone, etc. The stored information regarding the bad combinations may be updated by information provided by the customer. For example, if a customer does not want a meal combining rice and chocolate, this information may be added to the previously stored bad combinations and/or may be added to the customer's information/preference information.

FIG. 8 depicts an example flow diagram of the steps performed in determining a meal combination. As noted above, the flyer that includes products that are on sale may be provided to the customer at the personal shopping device. The user interface may include an actuatable button that enables the customer to select one or more of the products included in the flyer. Upon clicking on the actuatable button, the customer may be presented with information regarding the selected product and further may be presented with another actuatable button for requesting suggested meal(s) or meal plan(s) that include the selected product(s). Alternatively, the customer may scan an item based on the bar code on the product and retrieve information regarding the scanned product. Still further, the customer may select an item from a list of items displayed at the personal shopping device and available for purchase.

Upon selecting the button requesting meal combination(s) or meal plan(s), the Meal/Meal Plan Application at server 120, 122 is accessed. The product(s) selected by the customer, together with other identifying information, including the store where the personal shopping device is located, are transmitted to server 120, 122. Server 120, 122 receives the selected product(s) and the identifying information (Step 802) and accesses a set of meal combination rules that are associated with the store the customer is shopping in (Step 804).

For example, a customer who is shopping in Bloom at 1233 Birch Street in San Jose, Calif., selects steak and requests suggested meals for steak. The selected product and the store identifying information are transmitted to server 120, 122. The following rules are accessed for the identified store: 1) select 50% of the items included in the meal from the sale flyer and 50% of the items from products that are not on sale; 2) rank the meal ideas in the order of the highest gross margin to the lowest gross margin; 3) 4 different products are in the mix; 4) select 2 store brand products; and 5) select 1 meat product, 2 vegetables, 1 starch, etc.). In addition, for example, the following products are stored with regard to Bloom: Carrots, on sale and have a gross margin of 2%; steak has a gross margin of 6%; peas are on sale and have a gross margin of 1%; potatoes have a gross margin of 1% and rice has a gross margin of 5%.

Once the meal combination rules are accessed, the application applies the set of accessed rules to the food items stored in the database (Step 806). The application determines combinations of products (meal combination(s)) based on the accessed set of meal combination rules (Step 808). It may be appreciated that alternatively, the set of meal combination rules that are access are based on customer information/preferences instead of the set of meal combination rules associated with the shopping establishment. Still further, alternatively, the meal combinations may be selected based on the set of meal combination rules associated both with the shopping establishment and the customer information/preferences. The results of the combinations may be checked against the information that identifies bad combinations of products, wherein those combinations of products are removed.

The determined meal combination(s) may then be provided or transmitted to the personal shopping device (Step 810) and displayed on a display, downloaded to a portable memory device, e.g., USB, etc.

These suggested combinations of products may be determined in real time, or may be batch processed and stored for later access. In other words, once the data from the flyer is generated, the possible combinations, based on the meal combination rules, may be generated or determined and stored for later access by customers.

Given the selection of steak by the customer, the application at server 120, 122 accesses the products available at Bloom and applies the meal combination rules associated with Bloom to the accessed products. According to the meal combination rules, 50% of the items should come from the sale flyer. Thus, since carrots and peas are the only items that are on sale, they are selected. Four different products must be selected with 1 meat, 2 vegetables, and 1 starch. Meat, carrots and peas have already been selected, leaving 1 starch for selection. The meal must be ranked in the order to highest gross margin. Thus, rice, having a higher gross margin than potatoes, is selected. As such, the meal determined by the application, is the meat, selected by the customer, carrots, peas and rice. An alternative meal may be determined wherein potatoes are selected instead of rice. This alternative meal may be listed lower (ranked lower) on the list than the first determined meal with rice. Since there are no other meals that satisfy the rules in this example, the application of the rules to the products is complete. The determined meal(s) is then transmitted back to the personal shopping device and output to the customer, i.e., displayed to the customer.

As another example, the meal combination may be determined based on a cost budget rule of the customer. Other rule(s) may or may not be applied in combination with consideration of the customer's budget. Upon requesting a meal combination through the user interface at the personal shopping device 112, 114 by selecting an actuatable button, the customer may be prompted with a request to input a total amount of money the customer is willing to pay for the meal combination. Alternatively, this information may be stored and associated with the customer's information as noted above. When the meal combination is determined, the priority of the budget may be set, for example, as the highest priority. As such, any meal combination that is determined must be equal to or less than the total cost as indicated by the customer. Alternatively, the priority for the budget rule may be set less than the highest priority based on, for example, an indication by the customer that the budget is not the most important rule in determining the meal combination.

It may be appreciated that, in some embodiments of the present disclosure, one or more products that are determined for the meal combination may be based on the customer's shopping history. If the customer usually purchases higher quality items, when determining a meal combination, higher quality items may be selected. If the customer usually purchases inexpensive items, when determining a meal combination, inexpensive items may be selected. For example, if the customer usually purchases porterhouse steak, then when determining a type of beef for the meal combination, a filet mignon or porterhouse steak, and not flank steak, may be selected in the meal combination. As another example, if the customer usually purchases name brand items, when determining a meal combination, the same name brand items, or similar name brand items may be selected. Alternatively, a more expensive brand may be selected for the meal combination.

It may further be appreciated that, in accordance with some embodiments of the present disclosure, before the determined meal combination(s) are provided or transmitted to the personal shopping device and displayed to the customer, additional processing may be performed to determine, for example, if any incentives are to be provided to the customer together with the determined meal combination(s). Incentives may be provided to the customer for selecting one or more of the meal combinations that was determined and provided to the customer. The incentive may be in the form of a coupon for one of the products in the meal combination; a coupon for a name brand or store brand product in the meal plan; a coupon for a product that is not included in the meal combination but may relate to the suggested meal (e.g., wherein filet mignon, potato and carrot were suggested, a coupon for a bottle of wine that would pair nicely with the filet mignon may by offered); a discount for the total cost of the meal combination; a discount for a more expensive brand of one of the items included in the meal combination; etc.

It may be appreciated that additional information may be stored, for example, in a table, that associates a number of incentives to offer with each of the plurality of segments. For example, customers that are categorized in the low profit segment may receive no coupons. Customers that are categorized in the high profit segment may receive n number of incentives (e.g., three coupons). Additionally, or alternatively, a number of different types of coupons may be associated with each of the plurality of segments, wherein one type of coupon may be directed to a particular product in the determined meal combination(s), another type of coupon may be directed to a particular product that is not included in the determined meal combination(s), another type of coupon may be directed to a monetary amount to be discounted from purchase of the total of the meal combination, etc.

The customer's identifying information may be accessed to determine the segment that the customer belongs to. If the customer belongs to “a”, which may be a low profit segment, then no incentive may be determined and offered in conjunction with the meal combination. If the customer belongs to “x”, which is a high profit customer, then the customer may be offered three incentives.

Once the customer's segment is determined, if there are incentives to be offered based on access of the table storing the segment information and the number of incentives to offer, each of the determined meal combinations may be analyzed to determine, for example, if incentives should be offered to the customer. In some embodiments of the present disclosure, additional information may be stored that set thresholds for determining whether incentives should be provided based on certain information of the determined meal combination(s). This certain information may include the total profit margin of a determined meal combination, if name brand or generic brands are included in a determined meal combination, if there are incentives available for that particular shopping time period, if a redemption rate cap has been met, etc.

A redemption rate cap may be established that represents the monetary amount of incentives that have been redeemed within a particular time period. For example, a retailer may set a redemption rate cap of $1000.00 per day. As such, the redemption of incentives within a retail shopping establishment may be monitored on a daily basis. When $1000.00 of incentives has been redeemed, the system may no longer provide any incentives to customers.

If it is determined that incentives are to be offered, based on the customer's segment, and based on the analysis of the determined meal combinations, incentives may be selected based on one or more incentive selection rules that may be stored similarly to the rules noted above. The incentive selection rules may include rules that randomly select incentives from a pool of available incentives, may be based on a priority that is associated with each of the coupons, based on a priority that is associated with each type of food group (i.e., meat coupons may be offered before starch coupons), may be based on an amount of the incentive, may be based on segment (lobster coupons may be offered to high value customers), may be based on the products included in the determined meal combination (wherein the product or product type may be associated with a code, e.g., a UPC code in a coupon, thereby identifying a coupon for selection), etc. The incentive selection rules may set for one store, one group of stores, one retailer, may be based on the customer's previous shopping purchases, etc. One or more incentives may be selected for each determined meal combination.

The selected incentive(s) may be presented to the customer on the display of the personal shopping device, for example, next to the product included in the appropriate meal combination or elsewhere on the display. If the customer selects a determined meal combination, for purchase, the customer may receive the incentive(s) that are associated with the selected, determined meal combination when checking out. The customer may receive the discount of the incentives when checking out only if the customer purchases all of the products included in the meal combination, if the customer purchases a certain percentage of the products included in the meal combination, etc. This may be determined based on the segment the customer is associated with.

The customer may further be provided, through the user interface, with an actuatable button that enables the customer to request recipes for the determined meal(s). The customer's selection of the actuatable button may initiate a search for recipes that may be selected in accordance with the recipe application discussed above and/or in accordance with a one or more recipe rules. Recipe rules may be applied to select one or more recipes based on preparation time for preparing a meal, one or more ingredients as selected by the customer; one or more ingredients based on a customer's previous shopping history, sodium content, fat content, cholesterol content, number of ingredients, total cost of ingredients, ease of preparing the dish, etc.

The recipes that are selected from the recipe application and/or by applying one or more recipe rules may be ranked, for example, in accordance with the number of products from the determined meal that are included in the recipe. For example, if the recipe includes all 4 products, the recipe may be ranked 100%. If the product only includes 3 of the 4 products, the recipe may be ranked 75%. Alternatively, the recipes may be ranked based on other factors including: based on popularity, based on elements in the customer's information/preferences, based on sodium content, based on total cost of the ingredients, ease of making the recipe, preparation time of the receipt; seasonal nature of the recipe, i.e., a summer recipe, etc. The selected recipes may then be provided the customer, i.e., output on the display, e-mailed to the customer, etc. downloadable to external memory, i.e., the key fob, at the personal shopping device.

The customer may then select one or more recipes that are included in the list. Once the recipe(s) is selected, the ingredients of the recipe may be compared with items on the consumer's shopping list, as noted above. Ingredients of the selected recipe that are not included in the shopping list may be added to the customer's shopping list as discussed above. It may be appreciated that a list of recipes may be provided to the customer in ranked order. The recipes may be further be ordered based on various criteria, for example, the recipe that has the most coupons and/or advertisements associated with the ingredients may be higher on the list than a recipe that has no coupons and/or advertisements, the recipe that has sponsors paying to promote the recipe may be higher in the list than a recipe that has no paying sponsors, etc.

For example, if Kraft has sponsored recipes using their cheese and macaroni, the table including the product list may store additional information indicating that Kraft is sponsoring recipes having this product. Recipes that are selected including Kraft's cheese and macaroni may be ordered higher in the list than recipes that do not include products that are sponsored by their respective manufacturers.

The customer may further be provided with incentives to select the recipe. For example, a recipe for making pot roast may be provided with an advertisement and/or coupon for the pot roast seasoning. If the customer selects the pot roast recipe, the coupon may be provided to the customer's personal shopping device for use at checkout. The coupon may be accessed at manufacturer servers 126, 128. Additionally, in the product table, additional information may be associated with each of the products for which there is a coupon available.

Once a customer selects a recipe, the customer may be presented with a video that demonstrates how to make the dish using the recipe. The video may be transmitted to the personal shopping device, sent in an e-mail to the customer for viewing at the customer's home, transmitted to the customer at the personal shopping device, a different handheld device, or the customer's e-mail address in the form of a URL to a link to the video on the network, downloadable from the personal shopping device to a consumer's USB device, etc. This may help make the customer be more apt to try the recipe by, providing the customer with an instruction video on how to make the recipe.

In a similar manner that single meal suggestions may be determined for a customer as noted above, a meal plan, providing meals for more than one day, may be determined and presented to the customer.

For example, the user interface at the personal shopping device may enable the user to enter the number of days of meals, the types of meals, i.e., breakfast, lunch, snack(s) and/or dinner, products to include and/or exclude in the meals, etc. The user interface at the personal shopping device may enable the customer to select a meal plan for a select number of days based on the customer's input of one or more different food products, different meal guides, for example, a recognized government or industry food guide, e.g., the American Food Guide, a diet plan, i.e., South Beach Diet, etc. This information may establish, e.g., how may meats, vegetables, fruits, etc., may be used in determining the meal plan. Meal plan rules may provide for, e.g., avoiding two consecutive meals with the same food products; scheduling meals with typical foods, e.g., eggs for breakfast (this may be based on the customer's geographic location, ethnicity, etc.), etc. Using this information, the meal plan rules may be employed to determine a meal plan based on, e.g., the customer's input through the user interface and the meal rules associated with the store and/or consumer information/preferences.

Alternatively, it may be appreciated that the meal plan rules may be applied in conjunction with a determined set of meal combination rules.

It may be appreciated that customer personal information may be stored within system 100 as noted above. Customer personal information may include age, height, weight, etc., wherein the system may calculate the customer's BMI (Body Mass Index). The Meal/Meal Plan Application may select meals with certain characteristics, i.e., lower fat content, in order to assist the customer with healthier meal options. The Meal/Meal Plan Application may further access information directed to an exercise regimen that may assist the customer in loosing weight.

The system may further provide information relating to other products at other retail stores. These products may further be included in the meal(s) and/or meal plan(s) presented to the customer. For example, a multi vitamin at a pharmacy may be suggested to the customer to include with the suggested meal plan. As an alternate example, the application may suggest a wine to accompany the meal that was suggested to the customer, wherein the wine may be located within the store the customer is shopping in, or at another store.

It may further be appreciated that the incentives noted above with regard to meal combinations may be applied when the meal combinations are included in the determined meal plan. Alternatively, different incentives may be offered to the customer if the customer purchases all of the items in the meal plan. The incentive may be in the form of a coupon for one of the products in the meal plan; a coupon for a name brand or store brand product in the meal plan; a coupon for a product that is not included in the meal plan but may relate to the suggested meal plan (e.g., a multi vitamin); a discount for the total cost of the meal plan; a discount for a more expensive brand of one or more of the items included in the meal plan; etc. The incentive(s) may be presented to the customer on the display of the personal shopping device, for example, next to the product included in the meal plan or elsewhere on the display. If the customer selects the meal combination, the customer may receive the incentive when checking out. The selection process for determining incentives to be offered to the customer may be similar to the selection process noted above with regard to meal combinations. Alternatively, or in addition, additional incentives may be offered based on the selection of the meal plan, including all of the meal combinations.

It may be appreciated that by providing incentives to up-sell a product based on the meal combination or meal plan as discussed herein, the manufacturer may enable a customer to try a more expensive product that the customer might not normally, purchase without having to pay the higher price.

Smart Content

By storing information relating to the products that the consumer has placed in the cart, additional features may be realized. For example, the ingredients of the recipes stored in memory may be search and associated with scanned items in the consumer's shopping cart. For example, if the system determines that the consumer has purchased avocado, onion, and tomato, the personal shopping device, at the direction of application servers 106, 108, 120, or 122, may prompt the consumer to purchase lemon and may further provide a recipe for guacamole. Further, directed offers, i.e., computer-generated discounts, may be made to the consumer. For example, if the consumer has selected $75 total merchandise for purchase, the personal shopping device may display an offer to the consumer to access a particular website to receive some incentive; if the consumer has purchased 3 bags of chips, the consumer may be offered a computer-generated discount to receive a free can of salsa etc.

Alternatively, the system may offer information to the consumer that is associated with particular products being purchased. For example, if the consumer scans Mr. Clean into the personal shopping device, the system may search its memory and offer cleaning tips to the consumer.

Inventory Management Application

In addition to the information discussed herein, inventory information may be maintained at store server 110, application servers 106, 108, application servers 120, 122 and/or database 142, 144. This inventory information may be updated in real time as the consumers purchase the products within the shopping establishment. For example, when a consumer scans Bounty paper towels at the personal shopping device, an inventory database that may be stored at store server 110, buffer server 107, application servers 106, 108, application servers 120, 122, and/or database 142, 144 may be updated. Predetermined thresholds may be established so that when a particular product's inventory level drops to the predetermined threshold, the system may prompt a user at application servers 106, 108, store server 110, and/or application servers 120, 122 to order more of that product. Alternatively, the system may automatically generate an order that may be sent through application servers 120, 122 to manufacture severs 126, 128 for more of that product.

Similarly, the system may provide for predetermined thresholds to identify when there is an overstock of a particular item. If the system determines there is an overstock, the system may automatically generate a computer-generated discount or advertisement that provides incentive for the consumer to purchase the item in order to reduce the overstock situation. These computer-generated discounts may be offered consumers using the plurality of methods discussed herein.

Alternatively, the manufacturer may predefine a price where products may be offered to customers at the predefined price when an overstock situation occurs. This reduced price may be offered to the customers for a period of time, until the inventory reaches a normal or predefined level, etc.

It may be appreciated by one skilled in the art that applying the principles discussed herein, the shopping establishment owner may determine purchasing trends, anticipate further purchases and product arrays and quantities to be ordered upstream, etc.

Power Management Application

The system may further have the ability to monitor the power level of each of the plurality of personal shopping devices within or near the shopping establishment. Each personal shopping device may have a battery charge of a particular time period. Each personal shopping device may monitor its own power levels and may communicate the power levels periodically, or upon request, to application servers 106, 108. Alternatively, the system may be configured so that when the personal shopping device power drops to a predetermined level an alert may be generated and send to application servers 106, 108. The power levels may further be provided to a consumer so that, should a consumer access a personal shopping device, and should the power level be low, the consumer may select a different personal shopping device to access. Further, upon receipt of notification that a personal shopping device is low on power, shopping establishment personnel may remove the personal shopping device from use and plug the device in to recharge.

Counter Services Application

Using the input device provided in the personal shopping device, the consumer may insert an external memory card, i.e., compact flash, memory stick, thumb drive, etc. to download image data. Using the consumer interface provided at the personal shopping device, the consumer may select the photo processing services the consumer wishes for the downloaded image data. The consumer may then submit the image data to the photo processing service of the shopping establishment. As key fob 140 may be associated with the identification of the consumer, the time taken to order prints of the image data may be reduced. As such, the consumer may shop within the shopping establishment while the image data is being processed. This reduces the need for the consumer to stand in line to request the image processing service and further, reduces the amount of information the consumer may need to input to request the image processing service.

It may be appreciated that similar services may be requested using the personal shopping device. For example, the consumer may request from the flower arrangement services that a particular arrangement be prepared. Thus, the consumer may shop while the arrangement is being prepared, thus speeding up the consumer's shopping experience. Alternatively, the consumer may request a certain cut of meat from the butcher using the personal shopping device and thus, the consumer can pick up his request without having to wait on line. Similarly, the consumer may, request movie rental services, coffee orders, seafood or deli orders, hot food orders, etc.

In addition to the film processing application, the personal shopping device may enable the customer to select and transmit an order to a bakery section and/or a delicatessen section of the shopping establishment. The customer may be able to access the bakery counter services application, select item(s) for purchase i.e., a birthday cake, identify the size of cake, the type of cake, the decoration of the cake, the writing on the cake, etc. Once the customer enters all of the bakery order information, the bakery order is transmitted from the personal shopping device through the store server 110 or application servers 106, 108, to a computing device physically located at the bakery section of the shopping establishment. The customer's order may appear on a display to a worker in the bakery section. The worker may then fulfill the customer's order. Once the worker has completed the order, the worker may transmit a message to the customer's personal computing device indicating that the order is ready for pick up. If the customer has already left the shopping establishment, the customer may be notified by e-mail, telephone, etc., that the bakery order is complete.

The personal shopping device may enable the customer to select and transmit an order to a delicatessen section of the shopping establishment. The customer may be able to access the delicatessen counter services application, select item(s) for purchase, i.e., a party platter, identify the size of platter, the contents of the platter, the theme of the platter, etc. Once the customer enters all of the delicatessen order information, the order is transmitted from the personal shopping device through the store server 110 or application servers 106, 108, to a computing device physically located at the delicatessen section of the shopping establishment. The customer's order may appear on a display to a worker in the delicatessen section. The worker may then fulfill the customer's order. Once the worker has completed the order, the worker may transmit a message to the customer's personal computing device indicating that the order is ready for pick up. If the customer has already left the shopping establishment, the customer may be notified by e-mail, telephone, etc., that the delicatessen order is complete.

Alternatively, the personal shopping device may enable a customer to select and purchase media. For example, the personal shopping device may provide the customer with a list of songs for purchase. The songs may be selected by the customer and downloaded on the customer's key fob 140, transmitted to the customer by e-mail, burned on a portable storage medium within the shopping establishment, etc.

Alternatively, the personal shopping device may enable a customer to refill a prescription at the pharmacy section of the shopping establishment. Upon selecting this option, the customer may be required to enter the prescription number and details regarding the order. The order is transmitted from the personal shopping device through the store server 110 or application servers 106, 108, to a computing device physically located at the pharmacy section of the shopping establishment. The customer's order may appear on a display to a worker in the pharmacy section. The worker may then fulfill the customer's order. Once the worker has completed the order, the worker may transmit a message to the customer's personal computing device indicating that the order is ready for pick up. If the customer has already left the shopping establishment, the customer may be notified by e-mail, telephone, etc., that the pharmacy order is complete.

Narrow Casting Application

The personal shopping device may further provide narrow-casting information to a consumer. For example, if the shopping establishment was a hardware store, and the consumer was purchasing a particular tool, the system may offer information to the consumer, i.e., a how-to video providing instruction on how to use the tool. This information may be viewed using the personal shopping device, may be downloaded on the consumer's key fob 140, or may be e-mailed to the consumer's e-mail account for home viewing.

Security

It may be appreciated that security features may be implemented within the personal shopping device and/or the shopping cart to ensure that all items placed in the shopping cart for purchase are properly scanned. For example, the personal shopping device, and/or the shopping cart may incorporate a camera whereby when the camera, analyzing images taken by the camera determines that the field of view of the top of the shopping cart'has been broken, the personal shopping device determines if an item was scanned within a preset period of time. If there was no item scanned, but the field of view was broken, then an alert may be generated at the personal shopping device requesting the customer properly scan the item for purchase. If the item is again not scanned within a predetermined amount of time, an alert may be generated and forwarded to store server 110 or application servers 106, 108 so that a user of the server may examine the customer's shopping cart at check out to ensure all items are properly scanned.

Alternatively, the personal shopping device and/or shopping cart may incorporate a three-dimensional scanner that scans the cart, and the items included therein. The scan may then be processed to determine whether all items in the cart were properly scanned. If then items were not all properly scanned, alerts may be generated to the customer and the user as noted above.

Reporting

In addition to the reporting capabilities discussed above, it may be appreciated that based upon the type of data stored within the system and the structures of the data tables discussed herein, real-time current and historic data mining may be realized. Further, a company's return on investment may be accurately determined.

For example, assume customers may be categorized in four categories, i.e., shops little/buys little, shops little/buys a lot, shops a lot/buys little, and shops a lot/buys a lot. These categories may be based upon predetermined thresholds based on the number of times a customer shops, and how much money is spent during each shopping trip. As the customer shopping information discussed above is obtained at the personal shopping device and stored within the system, reports may be generated to determine if customers are moving from one category to another as time progresses, the company may realize a return on investment. As historic data is maintained in addition to current data, accurate return on investment values may be calculated.

Return on investment may be determined based on an individual store, a predefined group of stores, a demographic group, etc. The return on investment value may be customized for each company, as each company may establish their own predetermined thresholds for each category.

Conclusion

Modifications and adaptations of the present invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. The foregoing description of an implementation of the invention has been presented for purposes of illustration and description. It is not exhaustive and does not limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from the practicing of the invention. For example, the described implementation includes software, but methods, systems, apparatus and computer-readable mediums consistent with the present invention may be implemented as a combination of hardware and software or hardware alone.

Additionally, although aspects of the present invention are described for being stored in memory, one skilled in the art will appreciate that these aspects can also be stored on other types of computer-readable media, such as secondary storage devices, for example, hard disks, floppy disks, or CD-ROM; the Internet or other propagation medium; or other forms of RAM or ROM. 

1. A method, executed by a processor at a server device, for determining at least one meal combination, comprising: receiving, at a server, information identifying at least one food item; accessing, from a storage device, a set of meal combination rules; applying, at the server, the accessed set of meal combination rules to a plurality of food items; determining, at the server, at least one meal combination including a plurality of food items including the food item identified by the received information; and transmitting the determined at least one meal combination from the server to a computing device for display.
 2. The method of claim 1, further comprising: when a plurality of meal combinations is determined, ranking the plurality of meal combinations based on meal ranking rules.
 3. The method of claim 1, wherein the receiving step includes: receiving, at the server, information identifying the at least one food item that was displayed in a weekly flyer.
 4. The method of claim 1, further comprising: storing, in the storage device, a plurality of sets of meal combination rules, each of the sets of meal combination rules being associated with one or more of a plurality of retail shopping establishments; and storing, in the storage device, a plurality of food items.
 5. The method of claim 4, wherein the applying step includes: selecting a set of meal combination rules from the plurality of stored sets of meal combination rules based on information associated with a retail shopping establishment.
 6. The method of claim 1, wherein at least one of the rules in the set of meal combination rules is based on at least one of profit margin, number of food items of the meal combination on sale, total number of food items in the meal combination; number of house brand food items; number of name brand food items; and number of food items per food group.
 7. The method of claim 1, the method further comprising: receiving a request for a recipe including the items in the determined meal combination; accessing a set of recipe rules; applying the accessed set of recipe rules to a plurality of stored recipes; determining at least one recipe based on the applied set of recipe rules; and transmitting the determined at least one recipe to the computing device.
 8. The method of claim 7, further comprising: accessing a video associated with the determined at least one recipe; and transmitting a hyperlink to the video to the computing device.
 9. The method of claim 1, wherein the indication is a universal product code, the universal product code being read by a scanner at the computing device.
 10. A method for generating a meal plan, comprising: accessing a set of meal plan rules; applying the set of meal plan rules to a plurality of food items; determining a plurality of meal combinations, each of the plurality of meal combinations including a plurality of food items, based on the applied set of rules; and transmitting the determined plurality of meal combinations from a server device to a computing device.
 11. The method of claim 10, wherein the meal plan rules conform to a recognized government or industry food guide.
 12. The method of claim 10, wherein the meal plan rules conform to an established diet plan.
 13. The method of claim 10, wherein the meal plan rules are based on a user's body mass index.
 14. A computer-readable medium, storing a set of instructions, executed by a processor, to perform a method for determining at least one meal combination, the method comprising: receiving, at a server, information identifying at least one food item; accessing, from a storage device, a set of meal combination rules; applying, at the server, the accessed set of meal combination rules to a plurality of food items; determining, at the server, at least one meal combination including a plurality of food items including the food item identified by the received information; and transmitting the determined at least one meal combination from the server to a computing device for display.
 15. The computer-readable medium of claim 14, further comprising: when a plurality of meal combinations is determined, ranking the plurality of meal combinations based on meal ranking rules.
 16. The computer-readable medium of claim 14, wherein the receiving step includes: receiving, at the server, information identifying the at least one food item that was displayed in a weekly flyer.
 17. The computer-readable medium of claim 14, further comprising: storing, in the storage device, a plurality of sets of meal combination rules, each of the sets of meal combination rules being associated with one or more of a plurality of retail shopping establishments; and storing, in the storage device, a plurality of food items.
 18. The computer-readable medium of claim 17, wherein the applying step includes: selecting a set of meal combination rules from the plurality of stored sets of meal combination rules based on information associated with a retail shopping establishment.
 19. The computer-readable medium of claim 14, wherein at least one of the rules in the set of meal combination rules is based on at least one of profit margin, number of food items of the meal combination on sale, total number of food items in the meal combination; number of house brand food items; number of name brand food items; and number of food items per food group.
 20. The computer-readable medium of claim 14, the method further comprising: receiving a request for a recipe including the items in the determined meal combination; accessing a set of recipe rules; applying the accessed set of recipe rules to a plurality of stored recipes; determining at least one recipe based on the applied set of recipe rules; and transmitting the determined at least one recipe to the computing device.
 21. The computer-readable medium of claim 20, further comprising: accessing a video associated with the determined at least one recipe; and transmitting a hyperlink to the video to the computing device.
 22. The computer-readable medium of claim 14, wherein the indication is a universal product code, the universal product code being read by a scanner at the computing device.
 23. A computer-readable medium, storing a set of instructions, executed by processor, to perform a method for generating a meal plan, the method comprising: accessing a set of meal plan rules; applying the set of meal plan rules to a plurality of food items; determining a plurality of meal combinations, each of the plurality of meal combinations including a plurality of food items, based on the applied set of rules; and transmitting the determined plurality of meal combinations from a server device to a computing device.
 24. The computer-readable medium of claim 23, wherein the meal plan, rules conform to a recognized government or industry food guide.
 25. The computer-readable medium of claim 23, wherein the meal plan rules conform to an established diet plan.
 26. The computer-readable medium of claim 23, wherein the meal plan rules are based on a user's body mass index.
 27. An apparatus, comprising: a memory, storing a set of instructions; and a processor, configured to execute the stored set of instruction, the processor configured to receive information identifying at least one food item; access a set of meal combination rules; apply the accessed set of meal combination rules to a plurality of food items; determine at least one meal combination including a plurality of food items including the food item identified by the received information; and transmit the determined at least one meal combination to a computing device for display.
 28. The apparatus of claim 27, further comprising: when a plurality of meal combinations is determined, ranking the plurality of meal combinations based on meal ranking rules.
 29. The apparatus of claim 27, wherein the receiving step includes: receiving, at the server, information identifying the at least one food item that was displayed in a weekly flyer.
 30. The apparatus of claim 27, further comprising: storing, in the storage device, a plurality of sets of meal combination rules, each of the sets of meal combination rules being associated with one or more of a plurality of retail shopping establishments; and storing, in the storage device, a plurality of food items.
 31. The apparatus of claim 30, wherein the applying step includes: selecting a set of meal combination rules from the plurality of stored sets of meal combination rules based on information associated with a retail shopping establishment.
 32. The apparatus of claim 27, wherein at least one of the rules in the set of meal combination rules is based on at least one of profit margin, number of food items of the meal combination on sale, total number of food items in the meal combination; number of house brand food items; number of name brand food items; and number of food items per food group.
 33. The apparatus of claim 27, the method further comprising: receiving a request for a recipe including the items in the determined meal combination; accessing a set of recipe rules; applying the accessed set of recipe rules to a plurality of stored recipes; determining at least one recipe based on the applied set of recipe rules; and transmitting the determined at least one recipe to the computing device.
 34. The apparatus of claim 33, further comprising: accessing a video associated with the determined at least one recipe; and transmitting a hyperlink to the video to the computing device.
 35. The apparatus of claim 27, wherein the indication is a universal product code, the universal product code being read by a scanner at the computing device.
 36. An apparatus for generating a meal plan, comprising: a memory, storing a set of instructions; and a processor configured to execute the stored set of instructions, to, perform a method for generating a meal plan, the processor configured to access a set of meal plan rules; apply the set of meal plan rules to a plurality of food items; determine a plurality of meal combinations, each of the plurality of meal combinations including a plurality of food items, based on the applied set of rules; and transmit the determining plurality of meal combinations from a server device to a computing device.
 37. The apparatus of claim 36, wherein the meal plan rules conform to a recognized government or industry food guide.
 38. The apparatus of claim 36, wherein the meal plan rules conform to an established diet plan.
 39. The apparatus of claim 36, wherein the meal plan rules are based on a user's body mass index. 